JavaScript 样式规则

命名

总体来说,函数名称为 functionNames ,变量名称为 variableNames ,类名称为 ClassNames ,方法名称为 methodNames ,常量值名称为 CONSTANT_VALUES ,文件名称为 filenames

代码格式

由于分号的隐式插入,大括号应与其内容放置在同一行。

推荐:

  1. if (something) {
  2. // 执行某项任务
  3. } else {
  4. // 执行另外一项任务
  5. }

只有在单行数组和对象初始器可以在写同一行时方可使用这两项。左括号前和右括号后都不应有空格。

推荐:

  1. var array = [1, 2, 3];
  2. var object = {a: 1, b: 2, c: 3};

多行数组和对象初始器需进行单行缩进,与代码块一样,其括号与内容应位于同一行。

推荐:

  1. var array = [
  2. 'Joe <joe@email.com>',
  3. 'Sal <sal@email.com>',
  4. 'Murr <murr@email.com>',
  5. 'Q <q@email.com>'
  6. ];
  7. var object = {
  8. id: 'foo',
  9. class: 'foo-important',
  10. name: 'notification'
  11. };

插入语

仅在需要时使用。
仅在语法和语义需要时少量、概括性地使用。

字符串

为了保持连贯性,应使用单引号 ' 而不是双引号 "。这在创建含有 HTML 的字符串时尤其有帮助。

推荐:

var element = '<button class="btn">Click Me</button>';

此规则较为明显的一个例外是在 JSON 对象中: JSON 要求使用双引号。

技巧提示

真假布尔表达式
以下为假的布尔表达式:

  • Null
  • undefined
  • ‘’ the empty string
  • 0 the number

注意区分,以下为真的表达式:

  • ‘0’ the string
  • [] the empty array
  • {} the empty object

三元条件运算符

不强制规定,但建议使用三元条件运算符编写简洁代码,避免使用以下代码:

不推荐:

  1. if (val) {
  2. return foo();
  3. } else {
  4. return bar();
  5. }

推荐:

return val ? foo() : bar();

&&||

这些二元布尔运算符为简化形式,会计算至最后一个已计算项。 || 被称为默认的运算符,这是因为不应以下列方式编写代码:

不推荐:

  1. function foo(name) {
  2. var theName;
  3. if (name) {
  4. theName = name;
  5. } else {
  6. theName = 'John';
  7. }
  8. }

推荐:

  1. function foo(name) {
  2. var theName = name || 'John';
  3. }

&& 也被用于缩减代码

不推荐:

  1. if (node) {
  2. if (node.kids) {
  3. console.log(node.kids);
  4. }
  5. }

推荐:

  1. if (node && node.kids) {
  2. console.log(node.kids);
  3. }